package com.hjqjl.common_lib.base;

import android.app.Application;

import com.alibaba.android.arouter.launcher.ARouter;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.Utils;
import com.hjqjl.common_lib.BuildConfig;
import com.hjqjl.common_lib.utils.LogUtil;

/**
 * 通用ComLibApplication，实现一些通用的初始化，项目的lib中创建BaseApplication继承ComLibApplication。
 *
 * @version V1.0.0
 * @name ComLibApplication
 */
public class ComLibApplication extends Application {
    private static ComLibApplication sInstance;
    public static boolean IS_DEBUG = BuildConfig.DEBUG;

    public static ComLibApplication getApplication() {
        return sInstance;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        sInstance = this;
        initRouter();
        initAndroidUtilCode();
        LogUtil.changeLog("wh", IS_DEBUG);//自定义的日志初始化

        LogUtils.v("当前是否为debug模式？" + IS_DEBUG);
    }

    //初始化ARouter
    private void initRouter() {
        if (IS_DEBUG) {// 这两行必须写在init之前，否则这些配置在init过程中将无效
            ARouter.openLog();     // 打印日志
            ARouter.openDebug();   // 开启调试模式(如果在InstantRun模式下运行，必须开启调试模式！线上版本需要关闭,否则有安全风险)
        }
        ARouter.init(this); // 尽可能早，推荐在Application中初始化
    }

    //AndroidUtilCode有关初始化
    private void initAndroidUtilCode() {
        //AndroidUtilCode初始化
        Utils.init(this);
        //日志配置
        LogUtils.Config config = LogUtils.getConfig();
        config.setLogSwitch(IS_DEBUG);//设置 log 总开关
        config.setGlobalTag("wh");//设置 log 全局 tag
    }
}
